home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / editor / edt10.lha / Beispiele / Oberon / Deutsch / Make_D.edt < prev    next >
Text File  |  1995-03-20  |  2KB  |  76 lines

  1. /* erstellen: make */
  2.  
  3. OPTIONS RESULTS
  4.  
  5. Busy "erstellen ..."
  6.  
  7. co=""   /* init */
  8. lo=""
  9. processor=GetClip("Oberon2Processor")
  10. options=GetClip("Oberon2Options")
  11. switches=GetClip("Oberon2Switches")
  12. chk=GetClip("Oberon2Chk")
  13.  
  14. PARSE VAR switches newSym debug garbColl langExt smallCode smallData linkHunks compAll icons
  15. PARSE VAR chk stackChk ovflChk rangeChk caseChk returnChk nilChk oddChk typeChk clearVars
  16.  
  17. IF ~newSym THEN co=co||"y"
  18. IF debug THEN co=co||"g"
  19. IF ~garbColl THEN DO; co=co||"a"; lo=lo||"a"; END;
  20. IF ~langExt THEN co=co||"e"
  21. IF smallCode THEN DO; co=co||"m"; lo=lo||"m"; END;
  22. IF smallData THEN DO; co=co||"d"; lo=lo||"d"; END;
  23. IF linkHunks THEN lo=lo||"s"
  24. IF compAll THEN options="ALL" options
  25. IF icons THEN DO; co=co||"i"; lo=lo||"i"; END;
  26.  
  27. IF ~stackChk THEN co=co||"s"
  28. IF ~ovflChk THEN co=co||"v"
  29. IF ~rangeChk THEN co=co||"b"
  30. IF ~caseChk THEN co=co||"c"
  31. IF ~returnChk THEN co=co||"r"
  32. IF ~nilChk THEN co=co||"n"
  33. IF oddChk THEN co=co||"o"
  34. IF ~typeChk THEN co=co||"t"
  35. IF ~clearVars THEN co=co||"z"
  36.  
  37. IF processor=1 THEN co=co||"1"
  38. IF processor=2 THEN co=co||"2"
  39. IF processor=3 THEN co=co||"28"
  40. IF processor=4 THEN co=co||"3"
  41. IF processor=5 THEN co=co||"38"
  42. IF processor=6 THEN co=co||"4"        /* Vermutung: bisher nicht implementiert */
  43.  
  44. Get NAME
  45. baseName=RESULT
  46. IF RIGHT(baseName, 4) ~= ".mod" THEN DO
  47.   ReqAction '"Dieses ist kein Oberon-2|Quelltext."' "OK"
  48.   BusyDone
  49.   exit
  50. END
  51.  
  52. Get PATH
  53. path=RESULT
  54.  
  55. Get CHANGES
  56. IF RESULT ~= 0 THEN Save
  57.  
  58. Get TEXTID
  59. scriptName="T:make"||RESULT||".s"
  60. done=Open(f, scriptName, "W")
  61. IF ~done THEN exit
  62. CALL WriteLn(f,"FailAt 100")
  63. CALL WriteLn(f,"Stack 30000")
  64. CALL WriteLn(f,"Resident OBERON:Oberon")
  65. CALL WriteLn(f,"CD" path)
  66. CALL WriteLn(f,'OBERON:omake >"CON:0/20/640/200/Programm Erzeugen/CLOSE/AUTO" c-'||co "l-"||lo options baseName)
  67. CALL WriteLn(f,"Resident Oberon REMOVE")
  68. CALL Close(f)
  69.  
  70. ADDRESS COMMAND "Execute >NIL:" scriptName
  71. ADDRESS COMMAND "Delete >NIL:" scriptName
  72.  
  73.  
  74. BusyDone
  75.  
  76. ADDRESS REXX "OBERON:rexx/GetFirstErr.edt"